#include <iostream>
#include <string>

using namespace std;

// C++ 中的模板（Template）是一种泛型编程机制，允许编写与类型无关的代码，从而实现代码复用。
// 它支持在定义类或函数时使用类型参数，在编译期间根据实际使用的类型生成具体的代码。
template <typename T>
inline T const &Max(T const &a, T const &b)
{
    return a < b ? b : a;
}
int main()
{

    int i = 39;
    int j = 20;
    cout << "Max(i, j): " << Max(i, j) << endl;

    double f1 = 13.5;
    double f2 = 20.7;
    cout << "Max(f1, f2): " << Max(f1, f2) << endl;

    string s1 = "Hello";
    string s2 = "World";
    cout << "Max(s1, s2): " << Max(s1, s2) << endl;

    return 0;
}